/**
 * The first thing to know about are types. The available types in Thrift are:
 *
 *  bool        Boolean, one byte
 *  byte        Signed byte
 *  i16         Signed 16-bit integer
 *  i32         Signed 32-bit integer
 *  i64         Signed 64-bit integer
 *  double      64-bit floating point value
 *  string      String
 *  map<t1,t2>  Map from one type to another
 *  list<t1>    Ordered list of one type
 *  set<t1>     Set of unique elements of one type
 *
 * Did you also notice that Thrift supports C style comments?
 */
namespace csharp Config

struct Position{
	10: double x
	20: double y
	30: double z
}

struct Rotation{
	10: double x
	20: double y
	30: double z
	40: double w
}

struct AnimalData
{
	5: string name
	10: Position position
	20: Rotation rotation
	25: Position scale
	30: Position color
}

struct CameraData
{
	10: Position position
	20: Rotation rotation
	25: Position scale
	30: double fov
}

struct LevelData
{
	5: i32 id
	8: string name
	10: CameraData mainCameraData
	20: list<AnimalData> animalList
}


